package proxy.staticDemo;

/**
 * @author liuchaoqun
 * @date 2022/8/14
 * @Description
 */

// 静态代理实现了目标对象的所有方法，一旦目标接口增加方法，代理对象和目标对象都要进行相应的修改，增加维护成本。
public class TVProxy implements TVCompany {
    private TVCompany tvCompany;

    @Override
    public TV produce() {
        System.out.println("代理开始销售");

        if (null == tvCompany) {
            tvCompany = new TVFactory();
        }
        TV produce = tvCompany.produce();
        System.out.println(produce.name);
        System.out.println("代理销售结束");
        return produce;
    }
}
